| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- const _Http = getApp().globalData.http;
- Page({
- data: {
- loading: false,
- disabled: true,
- showAll: false,
- editMode: false,
- form: [{
- label: "门店序号",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "请输入门店序号",
- valueName: "storeno",
- required: true,
- checking: "base"
- }, {
- label: "门店名称",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "请输入门店名称",
- valueName: "storename",
- required: true,
- checking: "base"
- }, {
- label: "门店面积",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "请输入门店面积",
- valueName: "area",
- required: true
- }, {
- label: "导购人数",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "请输入导购人数",
- valueName: "salercount",
- required: true
- }, {
- label: "负责人",
- error: false,
- errMsg: "",
- type: "radio",
- value: "",
- radioList: [],
- valueName: "leader_hrid",
- required: true,
- checking: "base",
- direction: "horizontal"
- }, {
- label: "售前电话",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "请输入售前电话",
- valueName: "sale_phonenmber",
- required: true
- }, {
- label: "售后电话",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "请输入售后电话",
- valueName: "service_phonenmber",
- required: true
- }, {
- label: "装修日期",
- error: false,
- errMsg: "",
- type: "date",
- value: "",
- placeholder: "请选择装修日期",
- valueName: "decorationdate",
- required: true
- }, {
- label: "开店日期",
- error: false,
- errMsg: "",
- type: "date",
- value: "",
- placeholder: "请选择开店日期",
- valueName: "opendate",
- required: true
- }, {
- label: "门店地址类型",
- error: false,
- errMsg: "",
- type: "radio",
- value: "",
- radioList: [],
- valueName: "markettype",
- required: true,
- checking: "base",
- direction: "horizontal"
- }, {
- label: "门店类型",
- error: false,
- errMsg: "",
- type: "radio",
- value: "",
- radioList: [
- { id: "自营", name: "自营" },
- { id: "分销", name: "分销" }
- ],
- valueName: "storetype",
- required: true,
- checking: "base",
- direction: "horizontal"
- }, {
- label: "省市县",
- error: false,
- errMsg: "",
- type: "region",
- value: [],
- placeholder: "省,市,县",
- valueName: "region",
- required: true
- }, {
- label: "详细地址",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "请输入详细地址",
- valueName: "address",
- required: true,
- checking: "base"
- }],
- content: {
- sa_storeid: 0
- }
- },
- onLoad(options) {
- if (options.edit) {
- wx.setNavigationBarTitle({ title: '编辑门店' });
- this.setData({ editMode: true });
- this.loadOptions(true);
- } else {
- this.loadOptions(false);
- }
- },
- /* 加载选项列表 */
- loadOptions(edit) {
- let count = 0;
- const onDone = () => {
- count++;
- if (count === 2 && edit) {
- this.populateEditForm();
- }
- };
- this.getLeaderList(edit ? onDone : null);
- this.getMarketTypeList(edit ? onDone : null);
- },
- /* 编辑模式:回填表单数据 */
- populateEditForm() {
- const data = _Http.detail;
- let form = this.data.form;
- form = form.map(v => {
- switch (v.valueName) {
- case "region":
- v.value = data.province ? [data.province, data.city, data.county] : [];
- break;
- default:
- v.value = data[v.valueName] !== undefined ? data[v.valueName] : '';
- break;
- }
- return v;
- });
- this.setData({
- form,
- "content.sa_storeid": data.sa_storeid
- });
- this.selectComponent("#Form").confirm();
- },
- /* 获取负责人列表 */
- getLeaderList(cb) {
- _Http.basic({
- id: "20221107094704",
- content: {
- pageNumber: 1,
- pageSize: 99999
- }
- }).then(res => {
- if (res.code == 1 && res.data && res.data.length) {
- let form = this.data.form;
- let leaderField = form.find(v => v.valueName === 'leader_hrid');
- leaderField.radioList = res.data.map(item => ({
- id: item.sys_enterprise_hrid,
- name: item.name
- }));
- if (!this.data.editMode) {
- leaderField.value = leaderField.radioList[0].id;
- }
- this.setData({ form });
- this.selectComponent("#Form").confirm();
- }
- if (cb) cb();
- }).catch(err => {
- console.error('获取负责人列表失败', err);
- if (cb) cb();
- });
- },
- /* 获取门店地址类型列表 */
- getMarketTypeList(cb) {
- _Http.basic({
- classname: "sysmanage.develop.optiontype.optiontype",
- method: "optiontypeselect",
- content: {
- pageNumber: 1,
- pageSize: 1000,
- typename: "markettype",
- parameter: {}
- }
- }).then(res => {
- if (res.code == 1 && res.data && res.data.length) {
- let form = this.data.form;
- let markettypeField = form.find(v => v.valueName === 'markettype');
- markettypeField.radioList = res.data.map(item => ({
- id: item.value,
- name: item.value
- }));
- if (!this.data.editMode) {
- markettypeField.value = markettypeField.radioList[0].id;
- }
- this.setData({ form });
- this.selectComponent("#Form").confirm();
- }
- if (cb) cb();
- }).catch(err => {
- console.error('获取门店地址类型列表失败', err);
- if (cb) cb();
- });
- },
- /* 表单必填项是否完成 */
- onConfirm({ detail }) {
- this.setData({
- disabled: detail
- });
- },
- /* 表单中断回调 */
- interrupt({ detail }) {},
- /* 提交表单 */
- submit() {
- this.setData({ loading: true });
- let formData = this.selectComponent("#Form").submit();
- if (!formData) {
- this.setData({ loading: false });
- return;
- }
- // 获取负责人姓名
- const leaderField = this.data.form.find(v => v.valueName === 'leader_hrid');
- const selectedLeader = leaderField.radioList.find(v => v.id == formData.leader_hrid);
- formData.leadername = selectedLeader ? selectedLeader.name : '';
- // 处理省市县数据
- if (formData.region && formData.region.length) {
- formData.province = formData.region[0] || "";
- formData.city = formData.region[1] || "";
- formData.county = formData.region[2] || "";
- delete formData.region;
- }
- let content = {
- ...this.data.content,
- ...formData
- };
- _Http.basic({
- id: '2026031010540701',
- content
- }).then(res => {
- this.setData({ loading: false });
- if (res.code == 1) {
- const listPage = getCurrentPages().find(v => v.__route__ == 'CRM/myStore/index');
- if (listPage) {
- listPage.getList(true);
- }
- wx.navigateBack({
- delta: 1,
- success: () => {
- wx.showToast({ title: this.data.editMode ? '编辑成功' : '创建成功', icon: 'none' });
- }
- });
- } else {
- wx.showToast({ title: res.msg || '操作失败', icon: 'none' });
- }
- }).catch(() => {
- this.setData({ loading: false });
- wx.showToast({ title: '操作失败', icon: 'none' });
- });
- },
- /* 是否显示全部 */
- onChange({ detail }) {
- this.setData({
- showAll: detail
- });
- },
- closePage() {
- wx.navigateBack({ delta: 1 });
- }
- });
|