| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- const _Http = getApp().globalData.http;
- Page({
- data: {
- disabled: true,
- loading: false,
- list: [{
- label: "目的",
- key: "target",
- value: "",
- }, {
- label: "过程",
- key: "content",
- value: "",
- }, {
- label: "结果",
- key: "results",
- value: "",
- }, {
- label: "下次跟进计划",
- key: "nextplan",
- value: "",
- }]
- },
- changeState({
- detail
- }) {
- this.setData({
- loading: detail
- })
- },
- onLoad(options) {
- getApp().globalData.Language.getLanguagePackage(this, '跟进')
- let parems = JSON.parse(options.parems),
- form = [{
- label: "跟进类型",
- error: false,
- errMsg: "",
- type: "option",
- optionNmae: "followuptype",
- optionType: "radio", //复选 radio 单选
- value: "",
- placeholder: "选择跟进方式",
- valueName: "type",
- checking: "base",
- required: true
- }, {
- label: "跟进对象",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/linkman/select",
- value: "",
- placeholder: "选择跟进对象",
- valueName: "contactsid",
- checking: "base",
- required: true
- }];
- if (parems.ownertable == "sa_project") {
- form[1].params = {
- "id": "20221111131004",
- "content": {
- "nocache": true,
- "sa_projectid": parems.ownerid,
- "pageNumbe": 1,
- "pageTotal": 1,
- "total": null,
- "where": {
- "conditino": ""
- }
- }
- }
- } else if (parems.ownertable == "sys_phonebook") {
- let item = _Http.item;
- if (item == undefined) item = {
- sat_orderclue: [],
- sa_customers: [],
- sa_project: [],
- }
- let list = [{
- label: "关联线索",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/clue/select",
- value: item.sat_orderclue.length ? [item.sat_orderclue.map(v => v.enterprisename), item.dataextend.sat_orderclueids] : [],
- params: {
- "id": "2025042409073602",
- "content": {
- "nocache": true,
- "pageNumber": 1,
- "pageSize": 20,
- "pageTotal": 1,
- "sys_phonebookid": parems.ownerid,
- sys_datafollowupid: parems.sys_datafollowupid || 0,
- "where": {
- "conditino": ""
- }
- },
- },
- query: "&idname=sat_orderclueid&showName=name",
- placeholder: "关联线索",
- valueName: "sat_orderclueids",
- checking: "base",
- required: false
- }, {
- label: "关联客户",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/setclient/select",
- value: item.sa_customers.length ? [item.sa_customers.map(v => v.name), item.dataextend.sa_customersids] : [],
- params: {
- "id": "2025042409074102",
- "content": {
- "nocache": true,
- "pageNumber": 1,
- "pageSize": 20,
- "pageTotal": 1,
- "sys_phonebookid": parems.ownerid,
- sys_datafollowupid: parems.sys_datafollowupid || 0,
- "where": {
- "conditino": ""
- }
- },
- },
- query: "&idname=sa_customersid",
- placeholder: "关联客户",
- valueName: "sa_customersids",
- checking: "base",
- required: false
- }, {
- label: "关联项目",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/project/select",
- value: item.sa_project.length ? [item.sa_project.map(v => v.projectname), item.dataextend.sa_projectids] : "",
- params: {
- "id": "2025042409074702",
- "content": {
- "nocache": true,
- "pageNumber": 1,
- "pageSize": 20,
- "pageTotal": 1,
- "sys_phonebookid": parems.ownerid,
- sys_datafollowupid: parems.sys_datafollowupid || 0,
- "where": {
- "conditino": ""
- }
- },
- },
- query: "&idname=sa_projectid",
- placeholder: "选择关联项目",
- valueName: "sa_projectids",
- checking: "base",
- required: false,
- interrupt: false
- }]
- form.pop()
- form = list.concat(form)
- parems.dataextend = {
- contactsid: [parems.ownerid1]
- }
- delete _Http.item;
- } else {
- form[1].params = {
- "id": "20240531165504",
- "content": {
- "nacache": true,
- "pageNumber": 1,
- "pageSize": 10,
- "pageTotal": 1,
- "total": null,
- "where": {
- "condition": "",
- },
- "sys_enterpriseid": parems.ownerid1
- }
- }
- }
- if (parems.sys_datafollowupid != 0) {
- form[form.findIndex(v => v.optionNmae == "followuptype")].value = parems.type;
- if (parems.ownertable != "sys_phonebook") form[1].value = parems.contactsid
- if (parems.attinfos.length) this.selectComponent("#Yl_files").handleFiles(parems.attinfos);
- this.setData({
- list: this.data.list.map(v => {
- v.value = parems[v.key] || ""
- return v
- })
- })
- }
- this.setData({
- parems,
- form
- })
- this.selectComponent("#Form").confirm()
- },
- onInput(e) {
- const {
- index
- } = e.target.dataset;
- this.data.list[index].value = e.detail.value;
- },
- onVoiceInput(e) {
- let {
- index
- } = e.target.dataset;
- this.setData({
- [`list[${index}].value`]: e.detail
- })
- },
- /* 绑定媒体 */
- insertImgEdit({
- detail
- }) {
- this.handleFileLink(detail)
- },
- handleFileLink(attachmentids, ownertable = "temporary", ownerid = 1, data) {
- _Http.basic({
- "classname": "system.attachment.Attachment",
- "method": "createFileLink",
- "content": {
- ownertable,
- ownerid,
- usetype: 'default',
- attachmentids
- }
- }).then(res => {
- console.log('跟进记录绑定附件', res)
- if (res.code != '1') return wx.showToast({
- title: res.msg,
- icon: "none"
- })
- if (ownertable == 'temporary') {
- this.selectComponent("#Yl_files").handleFiles(res.data)
- } else {
- if (res.data.length) data.attinfos = res.data;
- _Http.basic({
- "classname": "system.attachment.Attachment",
- "method": "createFileLink",
- "content": {
- ownertable: this.data.parems.ownertable,
- ownerid: this.data.parems.ownerid,
- usetype: 'default',
- attachmentids
- }
- })
- this.changeItem(data)
- setTimeout(() => {
- wx.navigateBack()
- }, 500)
- }
- })
- },
- changeItem(data) {
- this.setData({
- loading: false
- })
- let page = getCurrentPages()[getCurrentPages().length - 2],
- isDetail = page.__route__ == 'pages/trace/detail';
- if (isDetail) {
- page.getDetail();
- page = getCurrentPages()[getCurrentPages().length - 3];
- }
- if (_Http.changeItem) {
- _Http.changeItem(data)
- delete(_Http.changeItem)
- } else {
- if (page) {
- let model = page.selectComponent("#Trace");
- if (model) model.getList(0, true)
- }
- }
- },
- submit() {
- this.setData({
- loading: true
- })
- let content = Object.assign(this.data.parems, this.selectComponent("#Form").submit())
- if (this.data.parems.ownertable != "sys_phonebook") {
- content.dataextend = {
- contactsid: content.contactsid[1]
- }
- delete(content.contactsid)
- } else {
- try {
- content.dataextend.sa_customersids = content.sa_customersids[1];
- } catch (error) {
- content.dataextend.sa_customersids = [];
- }
- try {
- content.dataextend.sa_projectids = content.sa_projectids[1];
- } catch (error) {
- content.dataextend.sa_projectids = [];
- }
- try {
- content.dataextend.sat_orderclueids = content.sat_orderclueids[1];
- } catch (error) {
- content.dataextend.sat_orderclueids = [];
- }
- delete content.sa_customersids
- delete content.sa_projectids
- delete content.sat_orderclueids
- }
- this.data.list.forEach(v => {
- content[v.key] = v.value
- })
- _Http.basic({
- "id": 20220930121601,
- content
- }).then(res => {
- console.log("保存跟进内容", res)
- wx.showToast({
- title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText(content.sys_datafollowupid == 0 ? '保存成功' : '修改成功'),
- icon: "none",
- mask: res.code == '1'
- });
- if (res.code != '1') return this.setData({
- loading: false
- });
- res.data.names = res.data.contacts.map(n => n.name)
- let attachmentids = this.selectComponent("#Yl_files").getFiles().attachmentids;
- if (attachmentids.length) return this.handleFileLink(attachmentids, 'sys_datafollowup', res.data.sys_datafollowupid, res.data);
- this.changeItem(res.data)
- if (this.data.parems.ownertable == "sys_phonebook") {
- _Http.updateList && _Http.updateList()
- }
- setTimeout(() => {
- wx.navigateBack()
- }, 500)
- })
- },
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- },
- onUnload() {
- if (this.data.parems.sys_datafollowupid == 0) this.selectComponent("#Yl_files").deleteAll()
- _Http.updateList && delete _Http.updateList
- _Http.item && delete _Http.item
- }
- })
|