import { agencygridtree, commonDemand, dictlist, listServerOrg, } from "../../utils/statisticsApi"; const App = getApp() const config = require('../../utils/config') Component({ properties: { visible: { type: Boolean, value: false }, detail: { type: Object, value: () => { }, }, id: { type: String, value: '' } }, data: { agencyId: '', loading: true, form: { serviceType: "", serverId: "", noticeApproches: [], serviceScopeList: [] }, serviceOptions: [], serviceIndex: -1, serviceOptiondIndex: -1, serviceOptiondList: [], visible2: false, orgField: {text: 'agencyName', value: 'agencyId', children: 'subAgencyList'}, orgName: "", orgOptions: [], showService: false, fieldValue: '', cascaderValue: '', showDate: false }, ready: function () { dictlist({ dictType: "user_demand_service_type", }).then((res) => { this.setData({ serviceOptions: res.data }) }) if (!this.agencyId) { this.setData({ agencyId: App.globalData.user.agencyId }) } this.getOrgTreeList() }, methods: { onShowService() { this.setData({ showService: true, }); console.log(111, this.data.showService) }, onCloseService() { this.setData({ showService: false, }); }, onFinishService(e) { const {selectedOptions, value} = e.detail; const fieldValue = selectedOptions .map((option) => option.agencyName || option.agencyName) .join('/'); let serviceScopeList = selectedOptions[selectedOptions.length - 1] this.setData({ fieldValue, showService: false, cascaderValue: value, "form.serviceScopeList": [ { objectId: serviceScopeList.agencyId, objectName: serviceScopeList.agencyName, objectType: serviceScopeList.level } ] }) }, getOrgTreeList() { let params = { agencyId: this.data.agencyId, purpose: "query" } agencygridtree(params).then(res => { let org = this.deleteChildren(res.data.subAgencyList) this.setData({ orgOptions: org }) }) }, noticeApprochesChange(e) { this.setData({ "form.noticeApproches": e.detail }) }, onShowDate() { this.setData({showDate: true}); }, onCloseDate() { this.setData({showDate: false}); }, formatDate(date) { date = new Date(date); return `${date.getFullYear()}-${date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1)}-${date.getDate() > 10 ? date.getDate() : '0' + date.getDate()}`; }, onConfirmDate(event) { const [start, end] = event.detail; this.setData({ showDate: false, date: `${this.formatDate(start)} ~ ${this.formatDate(end)}`, "form.serviceTimeStart": `${this.formatDate(start)} 00:00:00`, "form.serviceTimeEnd": `${this.formatDate(end)} 00:00:00`, }); }, serviceOptiondListChange(e) { this.setData({ serviceOptiondIndex: e.detail.value, "form.serverOrgId": this.data.serviceOptiondList[e.detail.value].id }) }, getServiceuserList(e) { this.setData({ serviceIndex: e.detail.value, "form.serverOrgType": this.data.serviceOptions[e.detail.value].value }) let params = { serviceTypeId: this.data.detail.categoryCode[1],//上级ID serverOrgType: this.data.serviceOptions[e.detail.value].value,//选的类型 businessType: "resi_service", }; // serviceOptiondIndex listServerOrg(params).then((res) => { this.setData({ serviceOptiondList: res.data || [] }) }) }, deleteChildren(node) { node.forEach(item => { if ('subAgencyList' in item && !item.subAgencyList) { delete item.subAgencyList } else if ('subAgencyList' in item && item.subAgencyList.length) { this.deleteChildren(item.subAgencyList) } }) return node }, close() { this.triggerEvent('close') }, sure() { commonDemand({ ...this.data.detail, assignFlag: 1, assignInfo: { ...this.data.form, } // demandRecId: this.data.detail.demandRecId }).then(res => { wx.showToast({ icon: 'success', title: '操作成功' }) this.close() }) }, } });