Browse Source

Merge branch 'develop' of http://120.27.195.166:3000/chenglb/PMS_Frontend_v1.0.0 into develop

tags/PMS_V1.0.0_Alpha5
wanghx 1 year ago
parent
commit
0c4b9273ea
  1. 131
      src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx
  2. 6
      src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/index.scss
  3. 38
      src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx
  4. 2
      src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardMgm/loadable.jsx
  5. 2
      src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx
  6. 83
      src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx
  7. 2
      src/pages/SystemMgm/RoleMgm/loadable.jsx

131
src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx

@ -60,6 +60,11 @@ const ParkingOverview = connect(function mapStateToProps(state) {
};
})((props) => {
const navigate = useNavigate();
let isSelected;
let isHovered;
let startRatio;
let endRatio;
let k;
let hoveredIndex = "";
//is
const MapS = [
@ -628,7 +633,7 @@ const ParkingOverview = connect(function mapStateToProps(state) {
return 0;
}
}
const getPie3D = (pieData, internalDiameterRatio) => {
const getPie3D = (pieData, bool) => {
//internalDiameterRatio:
let series = [];
let sumValue = 0;
@ -710,9 +715,43 @@ const ParkingOverview = connect(function mapStateToProps(state) {
legendData.push(series[i].name);
}
//
let boxHeight = getHeight3D(series, 25); //3d/2626px
// legendDataseries
// series.push({
// name: "mouseoutSeries",
// type: "surface",
// parametric: true,
// wireframe: {
// show: false,
// },
// itemStyle: {
// opacity: 0,
// },
// parametricEquation: {
// u: {
// min: 0,
// max: Math.PI * 2,
// step: Math.PI / 20,
// },
// v: {
// min: 0,
// max: Math.PI,
// step: Math.PI / 20,
// },
// x: function (u, v) {
// return Math.sin(v) * Math.sin(u) + Math.sin(u);
// },
// y: function (u, v) {
// return Math.sin(v) * Math.cos(u) + Math.cos(u);
// },
// z: function (u, v) {
// return Math.cos(v) > 0 ? 0.1 : -0.1;
// },
// },
// });
let option = {
// backgroundColor: "#203598",
// labelLine: {
@ -751,6 +790,26 @@ const ParkingOverview = connect(function mapStateToProps(state) {
},
tooltip: {
backgroundColor: "#fff",
// formatter: (params) => {
// if (
// params.seriesName !== "mouseoutSeries" &&
// params.seriesName !== "pie2d"
// ) {
// let bfb = (
// (option.series[params.seriesIndex].pieData.endRatio -
// option.series[params.seriesIndex].pieData.startRatio) *
// 100
// ).toFixed(2);
// if (bfb == "NaN") {
// bfb = 0;
// }
// return (
// `${params.seriesName}<br/>` +
// `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
// `${bfb}%`
// );
// }
// },
formatter: (params) => {
if (
params.seriesName !== "mouseoutSeries" &&
@ -761,13 +820,23 @@ const ParkingOverview = connect(function mapStateToProps(state) {
option.series[params.seriesIndex].pieData.startRatio) *
100
).toFixed(2);
return (
`${params.seriesName}<br/>` +
`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
`${bfb}%`
);
if (bfb == "NaN") {
bfb = 0;
}
if (params.seriesName !== "mouseoutSeries") {
return `<div class="pojj">${params.seriesName}
<br/>${params.marker} ${
bool ? "0" : option.series[params.seriesIndex].pieData.value
} ${bfb}%
</div>`;
}
}
},
rich: {
a: {
color: "#FFF",
},
},
},
xAxis3D: {
min: -1,
@ -806,6 +875,12 @@ const ParkingOverview = connect(function mapStateToProps(state) {
series.sort((a, b) => {
return b.pieData.value - a.pieData.value;
});
if ((height * 25) / series[0].pieData.value > 30) {
return 30;
}
// if (!(height * 25) / series[0].pieData.value > 30) {
// return 20;
// }
return (height * 25) / series[0].pieData.value;
};
@ -888,17 +963,10 @@ const ParkingOverview = connect(function mapStateToProps(state) {
// option.series
//
let option = RightTwo;
console.log(option);
let isSelected;
let isHovered;
let startRatio;
let endRatio;
let k;
// mouseover
if (hoveredIndex === params.seriesIndex) {
return;
//
} else {
// option
@ -922,7 +990,7 @@ const ParkingOverview = connect(function mapStateToProps(state) {
);
option.series[hoveredIndex].pieStatus.hovered = isHovered;
// seriesIndex
// seriesIndex
hoveredIndex = "";
}
@ -952,8 +1020,8 @@ const ParkingOverview = connect(function mapStateToProps(state) {
}
// 使 option
setRightTwo(option);
}
setRightTwo(option);
},
globalout: (params) => {
// option.series
@ -961,11 +1029,11 @@ const ParkingOverview = connect(function mapStateToProps(state) {
let option = RightTwo;
if (hoveredIndex !== "") {
// option.series true
let isSelected = option.series[hoveredIndex].pieStatus.selected;
let isHovered = false;
let k = option.series[hoveredIndex].pieStatus.k;
let startRatio = option.series[hoveredIndex].pieData.startRatio;
let endRatio = option.series[hoveredIndex].pieData.endRatio;
isSelected = option.series[hoveredIndex].pieStatus.selected;
isHovered = false;
k = option.series[hoveredIndex].pieStatus.k;
startRatio = option.series[hoveredIndex].pieData.startRatio;
endRatio = option.series[hoveredIndex].pieData.endRatio;
// option
option.series[hoveredIndex].parametricEquation = getParametricEquation(
@ -978,7 +1046,7 @@ const ParkingOverview = connect(function mapStateToProps(state) {
);
option.series[hoveredIndex].pieStatus.hovered = isHovered;
// seriesIndex
// seriesIndex
hoveredIndex = "";
}
// 使 option
@ -995,8 +1063,12 @@ const ParkingOverview = connect(function mapStateToProps(state) {
]
) => {
//
let bfg = true;
const data =
datas.map((ele) => {
if (ele.value != 0) {
bfg = false;
}
return {
name: ele.key,
value: ele.value,
@ -1004,8 +1076,23 @@ const ParkingOverview = connect(function mapStateToProps(state) {
endRatio: 1,
};
}) || [];
let option;
if (bfg) {
//0
option = getPie3D(
data.map((ele) => {
return {
...ele,
value: 1,
};
}),
true
);
} else {
//0
option = getPie3D(data, false);
}
let option = getPie3D(data, 0.8);
// label线2d使labelLine3dsetOption
option.series.push({
// name: "pie2d",

6
src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/index.scss

@ -385,6 +385,12 @@ $color-primary: var(--color-primary);
}
}
.deal-reason {
.logpTip{
display: flex;
.redLogo{
line-height: 44px;
}
}
.title {
font-family:
PingFangSC-Medium,

38
src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx

@ -424,7 +424,7 @@ function CallbackSuggestion(props) {
item.key = item.id
return item
})
setOrderVisible(true)
setOrderVisible(true)
setGetDealData({
...getDealData,
data: resDataArr
@ -448,19 +448,19 @@ function CallbackSuggestion(props) {
const handleChoose = (value) => {
setGetValueList(value)
// setSubmitDeploy({ ...submitDeploy, change_content: value })
if(value){
if (value) {
setSubmitDeploy({
...submitDeploy,
update_value: '',
plate_type: '',
change_content: value
})
})
}
}
const [getAdjustTimeValue, setGetAdjustTimeValue] = useState(1)
const handleAdjust = (value) => {
setGetAdjustTimeValue(value)
submitDeploy.update_value=''
submitDeploy.update_value = ''
}
const handleAdjustTime = (v, dateString) => {
setSubmitDeploy({ ...submitDeploy, update_value: dateString })
@ -497,8 +497,9 @@ function CallbackSuggestion(props) {
message.error('请输入处理理由')
} else if (submitDeploy.change_content === '') {
message.error('请选择对应的更改项')
}
else {
}else if (submitDeploy.update_value === '') {
message.error('请输入对应的更改项')
}else {
ajax.submitData(data).then(res => {
if (res.status === 20000) {
setOrderVisible(false)
@ -627,10 +628,10 @@ function CallbackSuggestion(props) {
</div>
<div className="timePicker ">
<div className="btnBox">
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { getSearchData() }}>
查询
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { getSearchData() }}>
查询
</Button>
<Button type="primary" className="yisa-btn colorReset" onClick={() => { getResetData() }}>
<Button type="primary" className="yisa-btn colorReset" onClick={() => { getResetData() }}>
重置
</Button>
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { exportData() }}>
@ -922,7 +923,10 @@ function CallbackSuggestion(props) {
<span className="font">异常停车处理信息</span>
</div>
<div className="deal-reason">
<div className="title">处理理由</div>
<div className="logpTip">
<div className="redLogo">*</div>
<div className="title">处理理由</div>
</div>
<TextArea showCount maxLength={30} value={submitDeploy.deal_reason} className="text" onChange={onChangeReason} />
</div>
<div className="deal-style">
@ -979,13 +983,14 @@ function CallbackSuggestion(props) {
]}
onChange={handleAdjust}
/>
<label style={{ marginLeft: 30 }}>调整为</label>
<div className="redLogo" style={{ marginLeft: 30 }}>*</div>
<label >调整为</label>
{
getAdjustTimeValue === 1 ?
<DatePicker
format="YYYY-MM-DD HH:mm:ss"
placement='topRight'
value={parseDate(submitDeploy?.update_value,'YYYY-MM-DD HH:mm:ss')}
value={parseDate(submitDeploy?.update_value, 'YYYY-MM-DD HH:mm:ss')}
style={{ width: 300 }}
showTime
onChange={handleAdjustTime}
@ -1009,7 +1014,8 @@ function CallbackSuggestion(props) {
{
getValueList === 2 ?
<>
<label style={{ marginLeft: 30 }}>车牌号:</label>
<div className="redLogo" style={{ marginLeft: 30 }}>*</div>
<label >车牌号:</label>
<Select
style={{ width: 100 }}
placeholder="请选择"
@ -1028,7 +1034,8 @@ function CallbackSuggestion(props) {
}
{
getValueList === 3 ? <>
<label style={{ marginLeft: 30 }}>/:</label>
<div className="redLogo" style={{ marginLeft: 30 }}>*</div>
<label >/:</label>
<Select
style={{ width: 100 }}
placeholder="请选择"
@ -1046,7 +1053,8 @@ function CallbackSuggestion(props) {
]}
onChange={handleAdd}
/>
<label style={{ marginLeft: 30 }}>金额-</label>
<div className="redLogo" style={{ marginLeft: 30 }}>*</div>
<label>金额-</label>
<Input
placeholder="请输入内容"
value={submitDeploy.update_value}

2
src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardMgm/loadable.jsx

@ -845,7 +845,7 @@ function ParkingCardMgm(props) {
<Descriptions.Item label="销售价格" span={1}>
{(cardItem?.original_price - cardItem?.discount_amount).toFixed(2) || '---'}
</Descriptions.Item>
<Descriptions.Item label="备注" span={1.5}>
<Descriptions.Item label="备注" span={3}>
{cardItem?.text || '---'}
</Descriptions.Item>
</Descriptions>

2
src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx

@ -847,7 +847,7 @@ function ParkingCardOrder() {
{listItem?.effective_start || '---'}
</Descriptions.Item>
<Descriptions.Item style={{ margin: '20px' }} label="有效天数" span={3}>
{listItem?.days || '---'}
{listItem?.days || '---'}
</Descriptions.Item>
<Descriptions.Item style={{ margin: '20px' }} label="生效结束日期" span={1.5}>
{listItem?.effective_end || '---'}

83
src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx

@ -99,7 +99,7 @@ function StaggeredMgm(props) {
}
//
const handleDeployType = (value) => {
setFormData({ ...formData, operator_id: value, road:''})
setFormData({ ...formData, operator_id: value, road: '' })
setGetOperatorId(value)
setGetRoadName([])
}
@ -297,7 +297,8 @@ function StaggeredMgm(props) {
const handleAddDeployType = (value) => {
setGetCarMsg({
...getCarMsg,
operator_id: value
operator_id: value,
road: ''
})
setGetOperatorId(value)
setData([])
@ -400,45 +401,57 @@ function StaggeredMgm(props) {
}
const placeSaveBtn = () => {
let infoArr = [...getSaleMsg]
infoArr.map((item, index) => {
let data = {
...getCarMsg,
info: infoArr
}
if (getCarMsg.operator_id === '') {
message.error('请选择所属商户')
} else if (getCarMsg.road === '') {
message.error('请输入车场名称')
} else if (item?.start_date === '' || item?.end_date === '') {
if (!getCarMsg.operator_id) {
message.error('请选择所属商户')
return
}
if (!getCarMsg.road) {
message.error('请输入车场名称')
return
}
for (var result = 0; result < infoArr.length; result++) {
console.log(infoArr[result]);
if (!infoArr[result]?.start_date || !infoArr[result]?.end_date) {
message.error('请选择错峰日期')
} else if (item?.start_time === '' || item?.end_time === '') {
return
}
if (!infoArr[result]?.start_time || !infoArr[result]?.end_time) {
message.error('请选择错峰时间')
} else if (item?.num === '') {
return
}
if (!infoArr[result]?.num) {
message.error('请输入错峰卡数量')
} else if (item?.price === '') {
return
}
if (!infoArr[result]?.price) {
message.error('请输入销售价格')
} else {
if (item.week.length != []) {
item.week = item.week.join(',')
}
ajax.getAddStaggered(data).then(res => {
if (res.status === 20000) {
message.success(res.message)
setAddVisible(false)
setGetCarMsg({
operator_id: ''
})
setValue({})
getData(formData)
setGetOperatorId('')
setGetSaleMsg([infoData])
} else {
message.error(res.message)
}
return
}
if (!infoArr[result].week.length) {
message.error('请选择星期配置')
return
}
infoArr[result].week = infoArr[result].week.join(',')
}
let data = {
...getCarMsg,
info: infoArr
}
ajax.getAddStaggered(data).then(res => {
if (res.status === 20000) {
message.success(res.message)
setAddVisible(false)
setGetCarMsg({
operator_id: ''
})
setValue({})
getData(formData)
setGetOperatorId('')
setGetSaleMsg([infoData])
} else {
message.error(res.message)
}
})
}
const checkStaggeredBtn = () => {
setCheckVisible(false)
@ -615,7 +628,7 @@ function StaggeredMgm(props) {
</div>
<Modal
visible={checkVisible}
onCancel={checkModal}
onCancel={checkStaggeredBtn}
footer={null}
className="roadModal"
>

2
src/pages/SystemMgm/RoleMgm/loadable.jsx

@ -754,7 +754,7 @@ function RoleMgm(props) {
<Cascader
style={{ width: 260, marginLeft: 50 }}
placeholder="请选择"
value={getAdminId.depart_id}
value={getAdminId.depart_arr}
options={getPlateColor}
changeOnSelect
onChange={(v) => {

Loading…
Cancel
Save